home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1983-08-18 | 4.0 KB | 82 lines |
- 1 REM NORMAL DISTRIBUTION
- 2 REM Written by Tracy L. Gustafson, M.D.
- 3 REM Round Rock, Texas. Version 2.0, 1983
- 5 DEF SEG=&H40
- 6 A=PEEK(&H17): IF NOT(A AND &H20) THEN POKE &H17,(A AND (NOT &H20)) OR &H20
- 10 DEF SEG: KEY OFF: SCREEN 0,0: WIDTH 80: COLOR 7,0,1
- 15 CLEAR: OPTION BASE 1: DEFINT A-C,N,T,Z: DEFSTR D
- 20 CLS: PRINT TAB(20);"KEY";STRING$(34,205);"CLOSE"
- 22 PRINT TAB(20);"OPEN NORMAL DISTRIBUTION (two-tailed) OPEN"
- 25 PRINT TAB(20);"SCREEN";STRING$(34,205);"LOAD"
- 30 PRINT: PRINT "Do you want to:": PRINT
- 40 PRINT TAB(10);"1.) Determine if the mean of your sample is significantly": PRINT TAB(16);"different from the population mean.": PRINT
- 50 PRINT TAB(10);"2.) Determine what percent of test values lie within": PRINT TAB(16);"a given range.": PRINT
- 60 PRINT TAB(10);"3.) Evaluate a known Z value.": PRINT: PRINT
- 70 PRINT TAB(18);: INPUT "Enter your choice: ",ASUB: IF ABS(ASUB-2)>1.1 THEN BEEP: GOTO 70
- 80 ON ASUB GOTO 90,200,300
- 90 CLS: PRINT TAB(8);"COMPARING SAMPLE MEAN TO POPULATION MEAN (two-tailed Z test)"
- 100 PRINT TAB(8);STRING$(60,205)
- 110 PRINT: PRINT: AP=CSRLIN: PRINT TAB(8);"What is the name of the DATAFILE you wish to analyze?"
- 115 PRINT TAB(5);"(Enter RETURN if you want to enter known MEAN and STD. DEV.)"
- 117 LOCATE AP,66: INPUT "",FILE$: ON ERROR GOTO 460
- 120 IF FILE$="" THEN 170 ELSE OPEN FILE$ FOR INPUT AS #1: INPUT #1, A,C
- 125 DIM D(A,C),CS(A,C),T(A),N$(A),X(A),X2(A),MD(A),SD(A)
- 130 FOR T=1 TO A: INPUT #1, T(T): NEXT
- 135 FOR T=1 TO A: FOR Z=1 TO C: INPUT #1, D(T,Z): NEXT: NEXT
- 140 FOR T=1 TO A: FOR Z=1 TO T(T): INPUT #1, CS(T,Z): NEXT: NEXT
- 145 FOR T=1 TO A: INPUT #1, N$(T),X(T),X2(T),MD(T),SD(T): NEXT: CLOSE #1
- 150 PRINT: PRINT: PRINT TAB(10);: INPUT;"What is the SAMPLE NUMBER you wish to analyze? ",NS: PRINT: PRINT TAB(15);
- 152 IF NS>A THEN BEEP: PRINT "This datafile has only";A;"samples.": GOTO 150
- 153 PRINT "This sample, `";N$(NS);"' has a MEAN of"; X(NS)/T(NS): PRINT
- 155 PRINT TAB(10);:INPUT "What is the POPULATION MEAN for this variable? ",M
- 160 XZ=(X(NS)/T(NS)-M)/SD(NS): GOSUB 320
- 165 PRINT TAB(5);:INPUT "Do you want to evaluate another MEAN using this DATAFILE? (Y or N) ",A$: IF A$="y" OR A$="Y" THEN CLS: GOTO 150 ELSE 420
- 170 PRINT: PRINT: PRINT TAB(25);
- 175 INPUT "What is the SAMPLE MEAN? ",SM: PRINT: PRINT TAB(21);
- 180 INPUT "What is the POPULATION MEAN? ",M: PRINT: PRINT TAB(11);
- 185 INPUT "What is the SAMPLE STANDARD DEVIATION? ",SV
- 190 XZ=(SM-M)/SV: GOSUB 320
- 195 INPUT "Do you want to evaluate another known SAMPLE MEAN? (Y or N) ",A$
- 197 IF A$="y" OR A$="Y" THEN CLS: GOTO 170 ELSE 420
- 200 CLS: PRINT TAB(17);"PERCENT OF TEST VALUES IN A GIVEN RANGE"
- 202 PRINT TAB(17);STRING$(39,205): PRINT: PRINT
- 205 PRINT TAB(20);:INPUT "What is the MEAN of this test? ",SM: PRINT
- 210 PRINT TAB(15);:INPUT "What is the STANDARD DEVIATION of this test? ",SV
- 220 PRINT: PRINT TAB(20);"Enter limits of RANGE in question:": PRINT TAB(21);"LOWER LIMIT";TAB(41);"UPPER LIMIT"
- 225 PRINT TAB(25);:INPUT;"",LL: PRINT TAB(45);: INPUT "",UL
- 230 XZ=(LL-SM)/SV: GOSUB 260: PC=P
- 235 XZ=(UL-SM)/SV: GOSUB 260: PC=(PC-P)*100
- 240 PRINT: PRINT: PRINT: COLOR 0,7
- 242 PLAY "MB T160 L16 O4 B-A- L6 B-"
- 245 PRINT TAB(12);"The PERCENT of test values in this range = ";:IF PC<100 THEN PRINT PC; ELSE PRINT "> 99.99999";
- 250 PRINT TAB(79): COLOR 7,0: PRINT: PRINT: PRINT: PRINT TAB(10);: INPUT "Do you want to analyze another TEST RANGE? (Y or N) ",A$
- 255 IF A$="y" OR A$="Y" THEN 200 ELSE 420
- 260 IF ABS(XZ)>6 THEN P=0: GOTO 280
- 265 R=1/SQR(EXP(XZ*XZ)*6.28319): W=1/((ABS(XZ)*0.231642)+1)
- 270 W2=W*W: PT=(W*0.319382)-(W2*0.356564)+(W*W2*1.78148)-(W2*W2*1.82126)+(W2*W2*W*1.33027): P=PT*R
- 280 IF XZ<0 THEN P=1-P
- 285 RETURN
- 300 CLS: PRINT TAB(12);"EVALUATING Z VALUE - NORMAL DISTRIBUTION (two-tailed)"
- 305 PRINT TAB(12);STRING$(53,205): PRINT
- 310 PRINT: PRINT TAB(25);: INPUT "Enter Z value: ",XZ: GOSUB 320: GOTO 400
- 320 IF ABS(XZ)>6 THEN P=0: GOTO 360
- 330 R=1/SQR(EXP(XZ*XZ)*6.28319): W=1/((ABS(XZ)*0.231642)+1)
- 340 W2=W*W: PT=(W*0.319382)-(W2*0.356564)+(W*W2*1.78148)-(W2*W2*1.82126)+(W2*W2*W*1.33027)
- 350 P=2*PT*R
- 360 PLAY "MB ML T180 L8 O1 E- L16 O4 E-GB- O5 E- O4 B-GE- O1 L3 E-"
- 370 PRINT: PRINT: PRINT TAB(10);: COLOR 0,7
- 375 PRINT TAB(28);"P = ";
- 380 IF P<1E-06 THEN PRINT "< 10 (-6)";TAB(65) ELSE PRINT P;TAB(65)
- 390 COLOR 7,0: PRINT: PRINT: PRINT: PRINT: PRINT TAB(10);
- 395 RETURN
- 400 INPUT "Do you want to evaluate another Z value? (Y or N) ",A$
- 410 IF A$="y" OR A$="Y" THEN 300
- 420 PRINT: PRINT
- 430 INPUT " Do you want to perform another analysis using the NORMAL DISTRIBUTION? ",A$
- 440 IF A$="y" OR A$="Y" THEN 10
- 450 END
- 460 BEEP: PRINT: IF ERL=120 AND ERR=53 THEN PRINT: PRINT TAB(13); "I cannot find a file by that name on drive "; ELSE 490
- 470 IF MID$(FILE$,2,1)=":" THEN DR$=LEFT$(FILE$,2) ELSE DR$="A:"
- 480 PRINT DR$: PRINT "Your files are:": FILES DR$+"*.*": RESUME 110
- 490 ON ERROR GOTO 0
-